# 1）定义一个lambda函数，实现功能：
#     参数为x,判断该参数是奇数还是偶数，
#     是奇数返回False,是偶数返回True
from logging.config import listen
from os import remove
#
# n = lambda x: False if x%2==0 else True
# print(n(9))
# 使用高阶函数实现以下功能
# 2） list1 = [5,23,1,5,7,98,6,7]
#     将列表中的所有数值,都该成它的平方+10
# list1 = [5,23,1,5,7,98,6,7]
# m = list(map(lambda y:y**2+10,list1))
# print(m)
# 3）lst = ["tom","lily",'张三',"lucy",
#          "阿斯蒂芬","sdafa"]
#    将名字中姓张的排除掉
# lst = ["tom","lily",'张三',"lucy","阿斯蒂芬","sdafa"]
# x = list(filter(lambda name: not name.startswith("张"), lst))
# print(x)
# 4）lst = ["tom","lily",'jack',"lucy",
#          "sdfen","sdafa"]
#    根据第二个字母开始到后面的字母，进行自然顺序排序
# lst = ["tom","lily",'jack',"lucy","sdfen","sdafa"]
# newlst = sorted(lst,key=lambda x:x[1::])
# print(newlst)
# 5）总结:什么是装饰器？你用过哪些装饰器
#      （自定义的装饰器，python定义好的装饰器）
#       使用过哪些python的内置函数,都能实现哪些功能
#
# 6）定义一个装饰器，实现功能：
#     判断一个函数的用户名参数是不是admin,
#     是的话执行函数，
#     不是的话，打印告知没有权限执行该方法
def grant(funtion):
    def isadmin(user,pd):
        if user == "admin":
            r = funtion(user,pd)
            return  r
        else:
            print("暂时没有权限执行该方法")
    return isadmin

@grant
def login(user,pd):
    print("---------登陆------")

login("admin","123")
login("admin1","123")